package com.bbva.gptf.back.transformador;

import java.math.BigDecimal;

import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.back.dominio.Vgpt002Simulacion;
import com.bbva.gptf.dto.bean.InstrumentoActual;
import com.bbva.gptf.dto.bean.InstrumentoObjetivo;
import com.bbva.gptf.dto.bean.InstrumentoRestriccion;
import com.bbva.gptf.dto.bean.InstrumentosSimulacion;
import com.bbva.gptf.dto.bean.TipoContrato;

/**
 * Convierte obtetos Vgpt002Simulacion en InstrumentosSimulacion.
 * 
 * @author jcompean
 * @version 1.0
 * @created Mar 1, 2013 5:42:09 PM
 */
public class TransformadorDetalleSimulacion implements
		Converter<Vgpt002Simulacion, InstrumentosSimulacion> {

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.springframework.core.convert.converter.Converter#convert(java.lang
	 * .Object)
	 */
	@Override
	public InstrumentosSimulacion convert(final Vgpt002Simulacion vsim) {

		InstrumentosSimulacion instSim = new InstrumentosSimulacion();
//		try {
//			instSim.setId(vsim.getCdId());
//			instSim.setTipoContrato(TipoContrato.getTipoContratoValor(vsim.getTpContrato()));
//			//instSim.setCdContrato(vsim.getCdContrato());
//			instSim.setCdValorBmv(vsim.getTpValor());
//			instSim.setEmisora(vsim.getCdEmisora());
//			instSim.setSerie(vsim.getCdSerie());
//			instSim.setClasificacion(vsim.getCdClasifDelta());
//			instSim.setCdGrupo(vsim.getCdGrupo());
//			instSim.setCdSubclasif(vsim.getCdSubclasif());
//			instSim.setCtDiaPorVencer(vsim.getCtDiaPorVencer() != null ? vsim.getCtDiaPorVencer().longValue() : null);
//			instSim.setNbIndiceIpc(vsim.getNbIndiceIpc());
//			instSim.setTpMercado(vsim.getTpMercado());
//			instSim.setTpTenencia(vsim.getTpTenencia());
//			
//			InstrumentoActual instActual = new InstrumentoActual();
//			instActual.setPcIntegracionBenchmark(vsim.getPcIntegraBench());
//			instActual.setMonto(vsim.getImValuacionDia());
//			instActual.setPcIntegracion(vsim.getPcIntegracionDia());
//			instActual.setDelta(vsim.getNuDeltaInstrumen());
//			instActual.setContribucion(vsim.getNuCtrDelta());
//			instActual.setTasa(vsim.getPcTasa());
//			instActual.setPrecio(vsim.getImPrecioPosicion());
//			instActual.setTitulos(vsim.getCtTitulo());
//			instActual.setLiquidez(vsim.getImLiquidez());
//			instActual.setValuacionCartera(vsim.getImValuaCartera());
//			//instActual.setPcIntegracionBenchmark(vsim.getPcIntegraBench());
//			instActual.setContribucionBenchmark(vsim.getNuCtrDeltaBench());
//			instActual.setPcDifIntegracion(vsim.getPcDiferencia());
//			instActual.setPonderacion(vsim.getNuSubSobreDelta());			
//			instActual.setEfectivoHoy(vsim.getImEfectivoHoy());
//			instActual.setEfectivo24(vsim.getImEfectivoV24());
//			instActual.setEfectivo48(vsim.getImEfectivoV48());
//			instActual.setEfectivo72(vsim.getImEfectivoV72());
//			instActual.setEfectivo96(vsim.getImEfectivoV96());
//
//			
//			InstrumentoRestriccion instRes = new InstrumentoRestriccion();
//			instRes.setNbEvaluacion(vsim.getNbEvaluacion());
//			instRes.setNuDeltaCont(vsim.getNuDeltaCont());
//			instRes.setNuValor(vsim.getNuValor());
//			instRes.setNuCalificacion(vsim.getNuCalificacion());
//			instRes.setStInvReport(vsim.getStInvReport() != null && vsim.getStInvReport().compareTo(BigDecimal.ONE) == 0 ? true : false);
//			instRes.setTpTenencia(vsim.getTpTenencia());
//			//instRes.setDuPlazo(vsim.get);
//			instRes.setStCtaSic(vsim.getStCtaSic() != null && vsim.getStCtaSic().compareTo(BigDecimal.ONE) == 0 ? true : false);
//			instRes.setStNvoParam(vsim.getStNvoParam() != null && vsim.getStNvoParam().compareTo(BigDecimal.ONE) == 0 ? true : false);
//			instRes.setNuGpoCaptura(vsim.getNuGpoCaptura() != null ? vsim.getNuGpoCaptura().longValue() : null);
//			instRes.setStOfPuPri(vsim.getStOfPuPri() != null && vsim.getStOfPuPri().compareTo(BigDecimal.ONE) == 0 ? true : false);
//			
//			InstrumentoObjetivo instObj = new InstrumentoObjetivo();
//			instObj.setInstrumentoActual(instActual);
//			instSim.setInstrumentoObjetivo(instObj);
//			instSim.setInstrumentoRestriccion(instRes);
//			instObj.setEfectivoHoy(vsim.getImEfectivoHoy());
//			instObj.setEfectivo24(vsim.getImEfectivoV24());
//			instObj.setEfectivo48(vsim.getImEfectivoV48());
//			instObj.setEfectivo72(vsim.getImEfectivoV72());
//			instObj.setEfectivo96(vsim.getImEfectivoV96());
			
//		}
//		catch (Exception e) {
//			// TODO: handle exception
//		}

		return instSim;
	}
}
